package com.kpmg.datalake.common.dynamicdatasource;

import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;

/**
 * 动态数据源.
 *
 * @author Alex.zhao
 * @version v.0.1
 */

public class DynamicDataSource extends AbstractRoutingDataSource {

    /**
     * @see AbstractRoutingDataSource#determineCurrentLookupKey()
     */

    @Override
    protected Object determineCurrentLookupKey() {

        /*
         * DynamicDataSourceContextHolder代码中使用setDataSourceType
         * 设置当前的数据源，在路由类中使用getDataSourceType进行获取，
         *  交给AbstractRoutingDataSource进行注入使用。
         */

        return DynamicDataSourceContextHolder.getDataSource();
    }
}
